/**
 * API接口定义文件
 * 功能：定义所有与后端交互的API接口函数
 */

// 这里务必指向 axios 实例文件 index.tsx，避免导入当前文件造成循环
import axios from "./index.tsx";

/**
 * 用户注册接口
 * @param {Record<string, unknown>} parmas - 注册参数
 * @returns {Promise} 注册结果
 */
export const register = (parmas: Record<string, unknown>) => {
  return axios.post('/user/v1/register', null, {
    params: parmas,
  })
}

/**
 * 发送邮箱验证码接口
 * @param {Record<string, unknown>} email - 邮箱参数
 * @returns {Promise} 发送结果
 */
export const sendEmailCode = (email: Record<string, unknown>) => {
  console.log(email);
  return axios.post('/user/v1/sendOutEmailCode', null, {
    params: email,
  })
}

/**
 * 用户登录接口
 * @param {string} email - 邮箱地址
 * @param {string} pwd - 密码
 * @returns {Promise} 登录结果
 */
export const login = (email: string, pwd: string) => {
  return axios.post('/user/v1/login', null, {
    params: {
      email,
      pwd,
    },
  })
}

/**
 * 发送消息接口
 * @param {number} inquiryId - 问诊ID
 * @param {string} content - 消息内容
 * @param {number} type - 消息类型
 * @param {number} doctorId - 医生ID
 * @returns {Promise} 发送结果
 */
export const sendMessage = (inquiryId: number, content: string, type: number, doctorId: number) => {
  return axios.post('/user/inquiry/verify/v1/pushMessage', null, {
    headers: {
      userId: localStorage.getItem('userId'), // 从本地存储获取用户ID
      sessionId: localStorage.getItem('token') // 从本地存储获取会话ID
    },
    params: {
      inquiryId,
      content,
      type,
      doctorId
    }
  })
}

// 兼容旧代码：提供默认导出 axios 实例
export default axios;